package org.dreamwork.jasmine2.restful.annotation;

import java.lang.annotation.*;

/**
 * 定义 Restful API 的参考返回结构.
 *
 * 真正的 API 返回对象结构和这个定义无关
 *
 * Created with IntelliJ IDEA.
 * @author seth.yang
 * Date: 14-11-21
 * Time: 下午4:58
 *
 */
@Target ({ElementType.ANNOTATION_TYPE})
@Retention (RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface ResultField {
    /**
     * 结构的名称
     * @return 结构的名称
     */
    String name ();

    /**
     * 结构的类型.
     *
     * 这里指的是 json 表达式的类型
     * @return 类型名称
     */
    String type ();

    /**
     * 描述
     * @return 描述
     */
    String description () default "";

    /**
     * 是否一定出现
     * @return 是否一定出现该定义
     */
    boolean mandatory () default false;
}
